Clients connected to a network often use a firewall for security purposes. The firewall controls incoming and outgoing communication in the network to protect resources of the network. In most applications, the firewall protects a private network from public access. Typically, the firewall is located at an entry point of the network and evaluates whether a particular communication user should be permitted access to the network.
The network may intend that certain outside users are able to access the network. These users may be authorized to access applications and data that are internal to the network. The network may implement a virtual private network (VPN) or a proxy server to provide access to the authorized users. If the network uses a proxy server to provide access, the proxy server must be tightly integrated with the network. The network cannot provide services without managing installation and configuration of the proxy server.
Additionally, the network may use tunneling to provide access to the authorized users. Tunneling refers to encapsulating information, such as a data packet, in a different communication protocol. The firewall may be restricted to a certain type of protocol. Tunneling allows a data packet from an outside source to be encapsulated in a protocol that is accepted by the firewall.
VPN systems require interoperability between user hardware, software, and systems. Often, hardware must be from the same manufacturer or vendor in order to be interoperable. Additionally, the network may not intend that the outside user has access to all of the data in the network. However, bypassing the firewall may give the outside user access to the entire network. The VPN may not be able to limit the amount of data that an outside user can access.